package com.ruoyi.system.mapper;

import java.util.List;

import com.ruoyi.system.domain.TbDownloadToken;

/**
 * 下载令牌Mapper接口
 *
 * @author ruoyi
 * @date 2025-09-01
 */
public interface TbDownloadTokenMapper {
    /**
     * 查询下载令牌
     *
     * @param id 下载令牌主键
     * @return 下载令牌
     */
    public TbDownloadToken selectTbDownloadTokenById(Long id);

    /**
     * 查询下载令牌列表
     *
     * @param tbDownloadToken 下载令牌
     * @return 下载令牌集合
     */
    public List<TbDownloadToken> selectTbDownloadTokenList(TbDownloadToken tbDownloadToken);

    /**
     * 新增下载令牌
     *
     * @param tbDownloadToken 下载令牌
     * @return 结果
     */
    public int insertTbDownloadToken(TbDownloadToken tbDownloadToken);

    /**
     * 修改下载令牌
     *
     * @param tbDownloadToken 下载令牌
     * @return 结果
     */
    public int updateTbDownloadToken(TbDownloadToken tbDownloadToken);

    /**
     * 删除下载令牌
     *
     * @param id 下载令牌主键
     * @return 结果
     */
    public int deleteTbDownloadTokenById(Long id);

    /**
     * 批量删除下载令牌
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTbDownloadTokenByIds(Long[] ids);

    TbDownloadToken selectValidByFileUrl(String fileUrl);

    TbDownloadToken selectValidByToken(String token);

    int invalidateByToken(String token);
}
